-- CoreCombatTextFix.lua
-- Surcharge propre et minimale de DFFT.ApplyDefaultCombatTextSetting()

local ADDON, DFFT = ...
if not DFFT or not DFFT.DB then return end
local DB = DFFT.DB

local function setcvar(name, val)
  -- Retail/modern API
  if C_CVar and C_CVar.SetCVar then
    pcall(C_CVar.SetCVar, name, val)
    return
  end
  -- Legacy fallback
  if SetCVar then
    pcall(SetCVar, name, val)
  end
end

-- Remplace/installe la fonction, appelée depuis Events.lua au PLAYER_LOGIN
function DFFT.ApplyDefaultCombatTextSetting()
  -- DB.hideDefaultCombatText = true  => on désactive le FCT Blizzard (met "0" sur les CVars)
  -- sinon on laisse actif (met "1")
  local hide = (DB.hideDefaultCombatText and "0") or "1"

  -- Dégâts + réduction (historiquement présents)
  setcvar("floatingCombatTextCombatDamage",       hide)
  setcvar("floatingCombatTextDamageReduction",    hide)

  -- ✅ Soins (manquait souvent)
  setcvar("floatingCombatTextCombatHealing",      hide)

  -- ✅ Flag global quand présent (toutes versions ne l’ont pas, on teste juste à l’aveugle)
  --   "1" = FCT Blizzard ON, "0" = FCT Blizzard OFF
  --   Ici on veut *désactiver* si hideDefaultCombatText=true  => set "0"
  local globalOn = (DB.hideDefaultCombatText and "0") or "1"
  setcvar("enableFloatingCombatText", globalOn)
end
